﻿Imports System.Collections.Generic
Imports System.Data
Imports CondorTravel.BC
Imports CondorTravel.BE
Imports CondorTravelUTIL.DL

Public Class ConsultarPaquetes
    Inherits PaginaBase

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            CargarServicios()
            CargarProveedores()
            CargarEstados()
            txtInicio.Text = "" : txtFin.Text = ""
            ListarPaquetes()

            txtInicio.Attributes.Add("readonly", "readonly")
            txtFin.Attributes.Add("readonly", "readonly")

            cle1.StartDate = "01/01/2000"

            cle2.StartDate = "01/01/2000"

            'Dim strRol As String = CType(Session("usuario"), UsuariosBE).Rol

            'If strRol = "JFCOM" Then
            '    dgPaquetes.Columns(5).Visible = False
            'ElseIf strRol = "JFPRO" Then
            '    dgPaquetes.Columns(6).Visible = False
            'End If
        End If
    End Sub

    Private Sub CargarServicios()
        Dim objServiciosBC As New ServicioBC
        Dim listServicioBE As List(Of ServicioBE) = New List(Of ServicioBE)
        
        Dim objServicioSeleccione As ServicioBE = New ServicioBE
        objServicioSeleccione.CodServicio = 0
        objServicioSeleccione.NombreServicio = "[Seleccione]"
        listServicioBE.Add(objServicioSeleccione)

        listServicioBE.AddRange(objServiciosBC.ServicioListarSel())

        cboServicio.DataSource = listServicioBE
        cboServicio.DataValueField = "CodServicio"
        cboServicio.DataTextField = "NombreServicio"
        cboServicio.DataBind()
    End Sub

    Private Sub CargarProveedores()
        Dim objProveedoresBC As New ProveedorBC
        Dim listProveedorBE As List(Of ProveedorBE) = New List(Of ProveedorBE)

        Dim objProveedorSeleccione As ProveedorBE = New ProveedorBE
        objProveedorSeleccione.Codigo = 0
        objProveedorSeleccione.RazonSocial = "[Seleccione]"
        listProveedorBE.Add(objProveedorSeleccione)

        listProveedorBE.AddRange(objProveedoresBC.ProveedorListarSel())

        cboProveedor.DataSource = listProveedorBE
        cboProveedor.DataValueField = "Codigo"
        cboProveedor.DataTextField = "RazonSocial"
        cboProveedor.DataBind()
    End Sub

    Private Sub CargarEstados()
        Dim objEstadosBC As New EstadoDocBC
        Dim listEstadoBE As List(Of EstadoDocBE) = New List(Of EstadoDocBE)

        Dim objEstadoSeleccione As EstadoDocBE = New EstadoDocBE
        objEstadoSeleccione.Codigo = 0
        objEstadoSeleccione.Descripcion = "[Seleccione]"
        listEstadoBE.Add(objEstadoSeleccione)

        Dim objEstadoBE As New EstadoDocBE
        objEstadoBE.Tipo = "P"

        listEstadoBE.AddRange(objEstadosBC.EstadoListar(objEstadoBE))

        cboEstado.DataSource = listEstadoBE
        cboEstado.DataValueField = "Codigo"
        cboEstado.DataTextField = "Descripcion"
        cboEstado.DataBind()
    End Sub


    Private Sub ListarPaquetes()
        Dim objPaqueteBE As New PaquetesBE
        objPaqueteBE.Servicio = New ServicioBE
        objPaqueteBE.Proveedor = New ProveedorBE

        Dim objUtil As New Funciones
        If txtDesPaquete.Text.Trim <> "" Then
            objPaqueteBE.NombrePaquete = objUtil.ReemplazarTexto(txtDesPaquete.Text.Trim)
        Else
            objPaqueteBE.NombrePaquete = ""
        End If
        If cboServicio.SelectedValue.Trim <> "0" Then
            objPaqueteBE.Servicio.CodServicio = Convert.ToInt16(cboServicio.SelectedValue)
        Else
            objPaqueteBE.Servicio.CodServicio = "0"
        End If
        If cboProveedor.SelectedValue.Trim <> "0" Then
            objPaqueteBE.Proveedor.Codigo = Convert.ToInt16(cboProveedor.SelectedValue.Trim)
        Else
            objPaqueteBE.Proveedor.Codigo = "0"
        End If
        If cboEstado.SelectedValue.Trim <> "0" Then
            objPaqueteBE.Estado = objUtil.ReemplazarTexto(cboEstado.SelectedValue.Trim)
        Else
            objPaqueteBE.Estado = "0"
        End If
        If txtInicio.Text.Trim <> "" Then
            objPaqueteBE.InicioVigencia = objUtil.ReemplazarTexto(txtInicio.Text.Trim)
        Else
            objPaqueteBE.InicioVigencia = ""
        End If
        If txtFin.Text.Trim <> "" Then
            objPaqueteBE.FinVigencia = objUtil.ReemplazarTexto(txtFin.Text.Trim)
        Else
            objPaqueteBE.FinVigencia = ""
        End If
        Dim objPaqueteBC As New PaquetesBC
        dgPaquetes.DataSource = objPaqueteBC.ListaPaqueteBusqueda(objPaqueteBE)
        dgPaquetes.DataBind()
    End Sub

    Protected Sub btnNuevo_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnNuevo.Click
		Session("TipoEvento") = 0
        Response.Redirect("AdministrarPaquetes.aspx", True)
    End Sub

    Protected Sub btnConsultar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnConsultar.Click
        'validamos que fechas esten dentro de rango
        If txtInicio.Text.Length > 0 And txtFin.Text.Length > 0 Then
            If CDate(txtFin.Text) < CDate(txtInicio.Text) Then
                Alerta("La fecha final no debe ser menor que la fecha inicial", False, String.Empty)
                Exit Sub
            End If
        End If
        
        ListarPaquetes()
    End Sub


    Private Sub dgPaquetes_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles dgPaquetes.RowCommand
        Dim intCodigo As Integer = Convert.ToInt32(e.CommandArgument)
        Dim sMensaje As String = String.Empty
        Dim bExito As Boolean

        Select Case e.CommandName  '.ToLower
            Case "Editar"

                Session("TipoEvento") = 1 ' modificar
                Session("CodigoPaquete") = intCodigo
                Response.Redirect("AdministrarPaquetes.aspx", True)

            Case "Eliminar"

                Dim objPaqueteBE As New PaquetesBE
                objPaqueteBE.codPaquete = intCodigo

                Dim objPaqueteBC As New PaquetesBC

                objPaqueteBC.EliminarPaquete(objPaqueteBE, bExito, sMensaje)
                If bExito Then
                    Alerta("El registro fue eliminado con éxito.", False, String.Empty)
                    ListarPaquetes()
                End If

        End Select
    End Sub
End Class